OpenMP on Distributed Memory via Global Arrays
نویسندگان
چکیده
This paper discusses a strategy for implementing OpenMP on distributed memory systems that relies on a source-to-source translation from OpenMP to Global Arrays. Global Arrays is a library with routines for managing data that is declared as shared in a user program. It provides a higher level of control over the mapping of such data to the target machine and enables precise specification of the required accesses. We introduce the features of Global Arrays, outline the translation and its challenges and consider how user-level support might enable us to improve this process. Early experiments are discussed. The paper concludes with some ideas for future work to improve the performance of this and other approaches to providing OpenMP on clusters and other distributed memory platforms.
منابع مشابه
Efficient Translation of OpenMP to Distributed Memory
The shared memory paradigm provides many benefits to the parallel programmer, particular with respect to applications that are hard to parallelize. Unfortunately, there are currently no efficient implementations of OpenMP for distributed memory platforms and this greatly diminishes its usefulness for real world parallel application development. In this paper we introduce a basic strategy for im...
متن کاملTowards a more efficient implementation of OpenMP for clusters via translation to global arrays
This paper discusses a novel approach to implementing OpenMP on clusters. Traditional approaches to do so rely on Software Distributed Shared Memory systems to handle shared data. We discuss these and then introduce an alternative approach that translates OpenMP to Global Arrays (GA), explaining the basic strategy. GA requires a data distribution. We do not expect the user to supply this; rathe...
متن کاملStrategies and Implementation for Translating OpenMP Code for Clusters
OpenMP is a portable shared memory programming interface that promises high programmer productivity for multithreaded applications. It is designed for small and middle sized shared memory systems. We have developed strategies to extend OpenMP to clusters via compiler translation to a Global Arrays program. In this paper, we describe our implementation of the translation in the Open64 compiler, ...
متن کاملImplementing an OpenMP Execution Environment on InfiniBand Clusters
Cluster systems interconnected via fast interconnection networks have been successfully applied to various research fields for parallel execution of large applications. Next to MPI, the conventional programming model, OpenMP is increasingly used for parallelizing sequential codes. Due to its easy programming interface and similar semantics with traditional programming languages, OpenMP is espec...
متن کاملOpenMP compiler for a Software Distributed Shared Memory System SCASH
In this paper, we present an implementation of OpenMP compiler for a page-based software distributed shared memory system, SCASH on a cluster of PCs. For programming distributed memory multiprocessors such as clusters of PC/WS and MPP, message passing is usually used. A message passing system requires programmers to explicitly code the communication and makes writing parallel programs cumbersom...
متن کامل